// pages/user/user.js
import Dialog from '../../miniprogram_npm/@vant/weapp/dialog/dialog.js';
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast.js';
let promise = require('../../utils/promise')
let api = require('../../utils/api')
Page({

	/**
	 * 页面的初始数据
	 */
	data: {
		show: false,
		userName: "立即登录",
		userPwd: null,
		avatar: '../../assets/avatar.jpg',
		loginIcon: 'arrow'
	},
	//显示弹出层
	showPopup() {
		// 先判断有没有登陆
		let token = wx.getStorageSync('token');
		if (token) {
			return;
		}
		this.setData({
			show: true
		});
	},
	//隐藏弹出层
	onClose() {
		this.setData({
			show: false
		});
	},
	//用户名称
	submitUserName(e) {
		this.data.userName = e.detail
	},
	//用户密码
	submitPwd(e) {
		this.setData({
			userPwd: e.detail
		})
	},
	//登录
	toLogin() {
		//  1.wx.login()   
		//  2.拿到返回的code  
		//   3.把code提交给后端 request 
		// 4.后端程序猿拿着code等信息请求微信后台 
		// 5.拿到微信返回的openid等信息，然后返回 token 给前端
		// **6.前端拿到token后记录用户的登录状态 ，实现登陆成功**
		let _this = this;
		wx.login({
			success(res) {
				console.log(res)
				if (res.code) {
					//发起网络请求
					// 提交登录 没有账号自动注册
					let userName = _this.data.userName
					let userPwd = _this.data.userPwd
					promise.fetchTime({ //auth/loginByWeb
						url: api.AuthLoginByWeixin,
						method: "post",
						data: {
							username: userName,
							pwd: userPwd
						}
					}).then(res => {
						console.log(res)
						//我们需要存token
						wx.setStorageSync('token', res.data.data.token)
						wx.setStorageSync('userInfo', res.data.data.userInfo)
						setTimeout(() => {
							_this.setData({
								userName: res.data.data.userInfo.username,
								avatar: res.data.data.userInfo.avatar,
								show: false,
								loginIcon: "cross"
							})
						}, 800);
					})
				} else {
					console.log('登录失败！' + res.errMsg)
				}
			}
		})

	},
	//退出登录
	loginOut() {
		let _this = this;
		var token = wx.getStorageSync('token')
		if (!token) {
			return false
		} else {
			//Dialog 弹出框
			Dialog.confirm({
				title: '登出账号确认',
				message: '您是否想要退出当前账号?',
			})
				.then(() => {
					//1.退出登录操作
					Toast("退出登录成功!");
					//2.删除本地token值和userInfo
					wx.removeStorageSync('token')
					wx.removeStorageSync('userInfo')
					// 3.修改页面信息，头像，用户昵称等，还原
					_this.setData({
						avatar: '../../assets/avatar.jpg',
						userPwd: null,
						loginIcon: 'arrow',
						userName: '立即登录'
					})

				})
				.catch(() => {
					// on cancel
				});
		}
	},

	onLoad: function (options) {

	},
	onShow: function () {
		this.getTabBar().setData({
			active: 4
		})
		var userInfo = wx.getStorageSync('userInfo')
		if (userInfo) {
			this.setData({
				userName: userInfo.username,
				avatar: userInfo.avatar,
				loginIcon: "cross"
			})
		}
	},
	/**
	 * 生命周期函数--监听页面加载
	 */


	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},



	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})